package edu.cuit.campus.portal.service;

import edu.cuit.campus.commons.response.Result;
import edu.cuit.campus.entity.po.Student;

/**
 * 求职者(学生)业务接口
 * @author <a href="mailto:1020zhaodan@163.com">Adan</a>
 * @version 1.0
 * @date 2025/8/7 15:05
 */
public interface StudentService {
    /**
     * 求职者注册个人信息
     *      1.数据校验成功后，对密码进行加密
     *      2.注册成功,需要给用户发送激活邮件
     * @param student 求职者信息
     * @return {@link Result}
     */
    Result register(Student student);

    /**
     * 检查用户名是否存在
     * @param username 用户名
     * @return 存在:true
     */
    boolean existsByUsername(String username);

    /**
     * 基于用户名和密码进行登录
     * @param username 用户名
     * @param password 登录密码
     * @return {@link Result}
     */
    Result login(String username, String password);

    /**
     * 基于用户名和标识id激活账户----邮箱激活
     * @param username 用户名
     * @param code 标识id
     * @return 激活成功: true
     */
    boolean active(String username, Integer code);
}
